package com.cruise.game.service.common;

import org.springframework.web.multipart.MultipartFile;

/**
 * 文件上传服务接口
 * 
 * @author cruise
 * @date 2025-02-28
 */
public interface UploadService {

    /**
     * 上传图片
     *
     * @param file 图片文件
     * @return 图片URL
     */
    String uploadImage(MultipartFile file);

    /**
     * 上传用户头像
     *
     * @param file 头像图片文件
     * @return 头像URL
     */
    String uploadAvatar(MultipartFile file);

    /**
     * 上传商品图片
     *
     * @param file 商品图片文件
     * @return 商品图片URL
     */
    String uploadProductImage(MultipartFile file);

    /**
     * 上传完单图片
     *
     * @param file 完单图片文件
     * @return 完单图片URL
     */
    String uploadOrderCompleteImage(MultipartFile file);

    /**
     * 上传文件
     *
     * @param file 文件
     * @param dir  目录
     * @return 文件URL
     */
    String uploadFile(MultipartFile file, String dir);

    /**
     * 删除文件
     *
     * @param fileUrl 文件URL
     * @return 是否成功
     */
    boolean deleteFile(String fileUrl);
}
